package com.ruoyi.post.domain;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import com.ruoyi.common.core.domain.BaseEntity;

import java.time.LocalDateTime;

/**
 * 帖子收藏记录对象 post_favorite_record
 *
 * @author 区嘉盛
 * @date 2025-06-10
 */
@Schema(description = "帖子收藏记录对象")
public class PostFavoriteRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 自增ID */
    @Schema(title = "自增ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 帖子ID */
    @Schema(title = "帖子ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long postId;

    /** 收藏用户ID */
    @Schema(title = "收藏用户ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    /** 收藏时间 */
    @Schema(title = "收藏时间")
    private LocalDateTime favoriteTime;

    /** 收藏状态 1-已收藏 0-已取消 */
    @Schema(title = "收藏状态")
    private Integer favoriteStatus;

    public Long getId() { return id; }

    public void setId(Long id) { this.id = id; }
    public Long getPostId() { return postId; }
    public void setPostId(Long postId) { this.postId = postId; }

    public Long getUserId() { return userId; }

    public void setUserId(Long userId) { this.userId = userId; }
    public LocalDateTime getFavoriteTime() { return favoriteTime; }
    public void setFavoriteTime(LocalDateTime favoriteTime) { this.favoriteTime = favoriteTime; }
    public Integer getFavoriteStatus() { return favoriteStatus; }
    public void setFavoriteStatus(Integer favoriteStatus) { this.favoriteStatus = favoriteStatus; }
}